/*******************************************************************************
 * Copyright (c) 2023. 山东新北洋信息技术股份有限公司 保留所有权利。
 *
 ******************************************************************************/

/*
 * 版权所有 2009-2023山东新北洋信息技术股份有限公司 保留所有权利。
 */
package online.xuping.thousandsOfWorlds.util;

import org.beetl.core.Configuration;
import org.beetl.core.GroupTemplate;
import org.beetl.core.Template;
import org.beetl.core.resource.StringTemplateResourceLoader;

import java.io.IOException;
import java.util.Map;

/**
 * 说明
 */
public final class TemplateUtil {

    private TemplateUtil() {
        throw new IllegalStateException("Utility class");
    }

    /**
     * 模板填充字符的工具类
     *
     * @param templateStr : 传入模板信息
     * @param map         : 传入参数信息
     * @return {@link String } 返回填充之后的结果
     * @author yujian
     * @date 2023/2/10 11:28
     **/
    public static String fillTemplate(String templateStr, Map<String, Object> map) throws IOException {
        GroupTemplate gt;
        try (StringTemplateResourceLoader resourceLoader = new StringTemplateResourceLoader()) {
            Configuration cfg = Configuration.defaultConfiguration();
            gt = new GroupTemplate(resourceLoader, cfg);
        }
        Template template = gt.getTemplate(templateStr);
        template.binding(map);
        return template.render();
    }


}
